package de.openkanban.server.service;

import java.util.List;

import de.openkanban.server.domain.Activity;
import de.openkanban.shared.dto.KanbanDto;
import de.openkanban.shared.util.StatusCodes;

/**
 * activity service api
 */
public interface ActivityService {
	Activity getActivity(Long activityId);

	List<Activity> getAll();

	List<Activity> getAllByBoardId(Long boardId);

	Activity createActivity(Activity activity);

	StatusCodes removeActivity(Long activityId);

	Activity updateActivity(Activity activity);

	KanbanDto addKanbanToActivity(Long userId, Long parentActivityId, KanbanDto kanbanDto);

	KanbanDto moveKanbanToActivity(Long userId, Long parentActivityId, Long kanbanId);

	Activity getActivityByKanbanId(Long kanbanId);
}
